"""
设计一个简单的游戏系统，包含不同类型的
角色（战士、法师、射手），每个角色都有attack()方法，但实现方式不同。请用代码展示如何利用多态来实现这个系统。
"""
class Role:
    def __init__(self,type):
        self.__type=type

    def set_type(self,type):
        self.__type=type

    def get_type(self):
        return self.__type

    def attack(self):
        print(f"{self.__type}发出攻击,战斗指数",end="")

class Zhan(Role):
    def __init__(self,type="战士"):
        super().__init__(type)

    def attack(self):
        super().attack()
        print("10")

class Fan(Role):
    def attack(self):
        print("2")

class She(Role):
    def attack(self):
        print("8")


zhan = Zhan()
zhan.attack()

#获取一个路径下的所有txt文件，包括子路径下的
import os

def get_file(path,list1:list):

    """
    获取一个路径下面的文件的
    :param path: 路径
    :return: None
    """
    # 获取该路径下面的所有文件和文件夹
    filelist = os.listdir(path)

    # 拼接一个完整的路径，才能进行文件的判断
    for filepath in filelist:
        filepath = path+"\\" + filepath

        # 判断是文件 打印
        if os.path.isfile(filepath):

            if filepath.endswith(".json"):
                # print(filepath)
                list1.append(filepath)
        else:
            # 判断是文件夹 递归get_file(path):
            get_file(filepath,list1)

path=r"D:\result"
list2=[]
get_file(path,list2)
print(list2)


